Imports Microsoft.VisualBasic
Imports System.ServiceModel
Imports System.Collections.Generic


Namespace DotNetNuke.Modules.IWebCF

    <IWebContract(CoreBindings.ws2007HttpBinding, Address:="IWebFileManager")> _
    <ServiceContract(Namespace:="http://webservices.DotNetNuke.com/2007/12/IWebFileManager")> _
    Public Interface IWebFileManager

        <OperationContract()> _
        Sub AddFolder(ByVal msg As AddFolderRequest)

        <OperationContract()> _
        Function CopyFile(ByVal msg As CopyFileRequest) As IWebResponse(Of String)

        <OperationContract()> _
        Function DefaultProtectedFolders(ByVal msg As FolderIdRequest) As IWebResponse(Of Boolean)

        '<OperationContract()> _
        'Function DeleteFiles(ByVal msg As DeleteFilesRequest) As IWebResponse(Of String)

        <OperationContract()> _
        Function GetFilesByFolder(ByVal msg As FolderIdRequest) As IWebResponse(Of List(Of FileInfoDataContract))

        <OperationContract()> _
        Function GetFileById(ByVal msg As FileIdRequest) As IWebResponse(Of FileInfoDataContract)

        <OperationContract()> _
        Function GetFoldersByParent(ByVal msg As FolderIdRequest) As IWebResponse(Of List(Of FolderInfoDataContract))

        <OperationContract()> _
        Function GetFolderById(ByVal msg As FolderIdRequest) As IWebResponse(Of FolderInfoDataContract)

        <OperationContract()> _
        Function GetMaxRequestLength(ByVal msg As IWebRequest) As IWebResponse(Of Long)

        <OperationContract()> _
        Function GetPortalRootFolders(ByVal msg As IWebRequest) As IWebResponse(Of List(Of FolderInfoDataContract))

        <OperationContract()> _
        Function GetPortalSpaceUsed(ByVal msg As IWebRequest(Of Boolean)) As IWebResponse(Of String)

        <OperationContract()> _
        Function IsFileTypeAllowed(ByVal msg As IWebRequest(Of String)) As IWebResponse(Of Boolean)


    End Interface


End Namespace
